#include <iostream>
#include <cstring>
#include "Util.h"

#define SNAKE 'S'
#define LADDER 'L'
#define NOTHING 'O'

#define PRINT_PT 1 // for point print
#define PRINT_NT 2 // for node type print
#define PRINT_BO 3 // for both NT(PT)

#define RAND_FACT 8 // lower for more LADDER / SNAKE nodes

using namespace std;

class Board {
	// array that contains the nodes of the Board
	char nodes[MAX_WIDTH][MAX_HEIGHT];

	// some nodes may have ladder or snake that "jumps" 
	// the players to another node 
	Point jumpto[MAX_WIDTH][MAX_HEIGHT];

	int num_snakes;
	int num_ladders;
	
	public:
	Board();

	void print_board(int mode = PRINT_NT);
	void print_jumpto();
	void print_info();
};
